package com.rules.admin.service;



import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rules.admin.domain.Page;
import com.rules.admin.entity.PackagePermissions;
import com.rules.admin.entity.RulePackage;
import com.rules.admin.vo.RuleMenuVO;
import com.rules.admin.vo.UserGroupPermissionInfo;
import com.rules.admin.vo.UserPermissionInfo;
import com.rules.admin.vo.ViewAssemblyVO;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface RulePackageService extends IService<RulePackage> {
   List<RulePackage> getRulePackagesByProjectIds(List<Long> projectIds);

   List<RulePackage> getRulePackagesBypackageIds(List<Long> packageIds);

   List<UserPermissionInfo> selectUserPermissionInfos(Long targetId, Integer targetType, Integer mode, String userName);

   List<UserGroupPermissionInfo> selectUserGroupPermissionInfos(Long targetId, Integer targetType, Integer mode, String groupName);

   RulePackage insert(RulePackage rulePackage);

   RulePackage update(RulePackage rulePackage);

   void delete(long id);

   public void updateStatus(long id, Integer status);

   public Page queryPage(String name, String artifactId, String remark, Page page);

   public IPage<RulePackage> queryPagePackages(String groupId, String artifactId, IPage<RulePackage> page);

   RulePackage getRulePackage(String var1, String var2, String var3);

   RulePackage getRulePackageByArtifactId(String var1, String var2);

   RulePackage getActiveRulePackage(String var1, String var2);

   List<RulePackage> getRulePackagesByBusinessModel(long var1);

   void updateRulePackageByPublished(long var1);

   RulePackage updateRulePackageByPublish(long var1, String var3) throws Exception;

   List<RulePackage> getRulePackages(String var1, String var2);

   List<RulePackage> findByName(String var1);

   List<RulePackage> getRulePackagesByProjectId(long var1);

   List<PackagePermissions> getPermissionPacakge(long var1) throws InvocationTargetException, IllegalAccessException;

   List<Map<String, Object>> getRulePackMenu(long var1);

   List<RulePackage> getPackage();

   IPage<RulePackage> getPagePackage(IPage<RulePackage> var1, String var2);

   List<RulePackage> getPackageByGroupId(String var1);

   List<RulePackage> getAll(Long var1);

   void updateByProjectId(Long var1, String var2);

   void updateRuleAssemblyPriority(RuleMenuVO[] var1);

   void updateRulePriority(RuleMenuVO[] var1);

   void updateRuleAssemblyPriority(RuleMenuVO var1, RuleMenuVO var2);

   void updateRulePriority(RuleMenuVO var1, RuleMenuVO var2);

   Byte getPriority(Long var1);

   void updateRulePackageInstallVO(RulePackage var1);

   List<ViewAssemblyVO> getViewAssemblyVOs(long var1);

   List getPackageNames(Long var1);

   RulePackage getRulePackageByArtifactId(String var1);

   void copy(RulePackage var1, Long var2);

   RulePackage getByGroupId(String groupId);
}
